# Disclaimer: I've found this file on the internet at some point and could
# not find it since. The original author is unknown to me :(

# Developer note: short instructions on how to update this wrap:
# 1. You need to checkout target godot-cpp version (not here, in some other
#    folder)
# 2. In this folder, you will need to run two commands, both of them you will find below.
#    This command generates files as if you build godot-cpp with scons.
# 3. You need two list of files: the ones originally in repo and generated. Those two lists
#    you need to put into variables in this file. You will not miss them, they
#    take majority of the lines of this meson.build :) Remove the old content
#    and replace it with new one.
# 4. Update all versions here, and in other places.
# 4. After that, just make a PR into wrapdb repository and github will run
#    all the checks you need. If you missed something, github checks will
#    tell you.

project(
  'godot-cpp',
  'cpp',
  license: 'MIT',
  version: '4.4.1',
  default_options: ['cpp_std=c++17'],
  meson_version: '>=0.58',
)

cpp_compiler = meson.get_compiler('cpp')
godot_precision = get_option('precision')

# Alas, godot has a lot of these warnings. Suppress them. It is recommended
# to check new releases whether these flags are still required or not
warnings_to_suppress = [
  '-Wno-unused-parameter',
  '-Wno-extra-semi',
  '-Wno-gnu-anonymous-struct',
  '-Wno-nested-anon-types',
]
foreach p : warnings_to_suppress
  if cpp_compiler.has_argument(p)
    add_project_arguments(
      p,
      language: 'cpp',
    )
  endif
endforeach

fs = import('fs')

# We need to check if code is already generated. It doesn't matter what you
# check - include directory or some generated file, as long as you can detect
# whether to run meson-bindings-generator or not
if not fs.exists('gen/include/')
  message(f'Generating Godot classes by api.json. precison: @godot_precision@')
  run_command(
    './meson-bindings-generator.py',
    'gdextension/extension_api.json',
    '.',
    godot_precision,
    check: true,
  )
endif

includes = include_directories('include/', 'gdextension/', 'gen/include/')

# To update list of sources, run the generator manually
#  > ./meson-bindings-generator.py gdextension/extension_api.json . single
# and exec
#  > find ./gen/src -name '*.cpp' | xargs -I{} echo "'{}'," | sort
#  Then copy-paste output into this array, replacing existing one
generated_sources = [
  './gen/src/classes/accept_dialog.cpp',
  './gen/src/classes/aes_context.cpp',
  './gen/src/classes/animatable_body2d.cpp',
  './gen/src/classes/animatable_body3d.cpp',
  './gen/src/classes/animated_sprite2d.cpp',
  './gen/src/classes/animated_sprite3d.cpp',
  './gen/src/classes/animated_texture.cpp',
  './gen/src/classes/animation.cpp',
  './gen/src/classes/animation_library.cpp',
  './gen/src/classes/animation_mixer.cpp',
  './gen/src/classes/animation_node_add2.cpp',
  './gen/src/classes/animation_node_add3.cpp',
  './gen/src/classes/animation_node_animation.cpp',
  './gen/src/classes/animation_node_blend2.cpp',
  './gen/src/classes/animation_node_blend3.cpp',
  './gen/src/classes/animation_node_blend_space1_d.cpp',
  './gen/src/classes/animation_node_blend_space2d.cpp',
  './gen/src/classes/animation_node_blend_tree.cpp',
  './gen/src/classes/animation_node.cpp',
  './gen/src/classes/animation_node_extension.cpp',
  './gen/src/classes/animation_node_one_shot.cpp',
  './gen/src/classes/animation_node_output.cpp',
  './gen/src/classes/animation_node_state_machine.cpp',
  './gen/src/classes/animation_node_state_machine_playback.cpp',
  './gen/src/classes/animation_node_state_machine_transition.cpp',
  './gen/src/classes/animation_node_sub2.cpp',
  './gen/src/classes/animation_node_sync.cpp',
  './gen/src/classes/animation_node_time_scale.cpp',
  './gen/src/classes/animation_node_time_seek.cpp',
  './gen/src/classes/animation_node_transition.cpp',
  './gen/src/classes/animation_player.cpp',
  './gen/src/classes/animation_root_node.cpp',
  './gen/src/classes/animation_tree.cpp',
  './gen/src/classes/area2d.cpp',
  './gen/src/classes/area3d.cpp',
  './gen/src/classes/array_mesh.cpp',
  './gen/src/classes/array_occluder3d.cpp',
  './gen/src/classes/aspect_ratio_container.cpp',
  './gen/src/classes/a_star2d.cpp',
  './gen/src/classes/a_star3d.cpp',
  './gen/src/classes/a_star_grid2d.cpp',
  './gen/src/classes/atlas_texture.cpp',
  './gen/src/classes/audio_bus_layout.cpp',
  './gen/src/classes/audio_effect_amplify.cpp',
  './gen/src/classes/audio_effect_band_limit_filter.cpp',
  './gen/src/classes/audio_effect_band_pass_filter.cpp',
  './gen/src/classes/audio_effect_capture.cpp',
  './gen/src/classes/audio_effect_chorus.cpp',
  './gen/src/classes/audio_effect_compressor.cpp',
  './gen/src/classes/audio_effect.cpp',
  './gen/src/classes/audio_effect_delay.cpp',
  './gen/src/classes/audio_effect_distortion.cpp',
  './gen/src/classes/audio_effect_eq10.cpp',
  './gen/src/classes/audio_effect_eq21.cpp',
  './gen/src/classes/audio_effect_eq6.cpp',
  './gen/src/classes/audio_effect_eq.cpp',
  './gen/src/classes/audio_effect_filter.cpp',
  './gen/src/classes/audio_effect_hard_limiter.cpp',
  './gen/src/classes/audio_effect_high_pass_filter.cpp',
  './gen/src/classes/audio_effect_high_shelf_filter.cpp',
  './gen/src/classes/audio_effect_instance.cpp',
  './gen/src/classes/audio_effect_limiter.cpp',
  './gen/src/classes/audio_effect_low_pass_filter.cpp',
  './gen/src/classes/audio_effect_low_shelf_filter.cpp',
  './gen/src/classes/audio_effect_notch_filter.cpp',
  './gen/src/classes/audio_effect_panner.cpp',
  './gen/src/classes/audio_effect_phaser.cpp',
  './gen/src/classes/audio_effect_pitch_shift.cpp',
  './gen/src/classes/audio_effect_record.cpp',
  './gen/src/classes/audio_effect_reverb.cpp',
  './gen/src/classes/audio_effect_spectrum_analyzer.cpp',
  './gen/src/classes/audio_effect_spectrum_analyzer_instance.cpp',
  './gen/src/classes/audio_effect_stereo_enhance.cpp',
  './gen/src/classes/audio_listener2d.cpp',
  './gen/src/classes/audio_listener3d.cpp',
  './gen/src/classes/audio_sample.cpp',
  './gen/src/classes/audio_sample_playback.cpp',
  './gen/src/classes/audio_server.cpp',
  './gen/src/classes/audio_stream.cpp',
  './gen/src/classes/audio_stream_generator.cpp',
  './gen/src/classes/audio_stream_generator_playback.cpp',
  './gen/src/classes/audio_stream_interactive.cpp',
  './gen/src/classes/audio_stream_microphone.cpp',
  './gen/src/classes/audio_stream_mp3.cpp',
  './gen/src/classes/audio_stream_ogg_vorbis.cpp',
  './gen/src/classes/audio_stream_playback.cpp',
  './gen/src/classes/audio_stream_playback_interactive.cpp',
  './gen/src/classes/audio_stream_playback_ogg_vorbis.cpp',
  './gen/src/classes/audio_stream_playback_playlist.cpp',
  './gen/src/classes/audio_stream_playback_polyphonic.cpp',
  './gen/src/classes/audio_stream_playback_resampled.cpp',
  './gen/src/classes/audio_stream_playback_synchronized.cpp',
  './gen/src/classes/audio_stream_player2d.cpp',
  './gen/src/classes/audio_stream_player3d.cpp',
  './gen/src/classes/audio_stream_player.cpp',
  './gen/src/classes/audio_stream_playlist.cpp',
  './gen/src/classes/audio_stream_polyphonic.cpp',
  './gen/src/classes/audio_stream_randomizer.cpp',
  './gen/src/classes/audio_stream_synchronized.cpp',
  './gen/src/classes/audio_stream_wav.cpp',
  './gen/src/classes/back_buffer_copy.cpp',
  './gen/src/classes/base_button.cpp',
  './gen/src/classes/base_material3d.cpp',
  './gen/src/classes/bit_map.cpp',
  './gen/src/classes/bone2d.cpp',
  './gen/src/classes/bone_attachment3d.cpp',
  './gen/src/classes/bone_map.cpp',
  './gen/src/classes/box_container.cpp',
  './gen/src/classes/box_mesh.cpp',
  './gen/src/classes/box_occluder3d.cpp',
  './gen/src/classes/box_shape3d.cpp',
  './gen/src/classes/button.cpp',
  './gen/src/classes/button_group.cpp',
  './gen/src/classes/callback_tweener.cpp',
  './gen/src/classes/camera2d.cpp',
  './gen/src/classes/camera3d.cpp',
  './gen/src/classes/camera_attributes.cpp',
  './gen/src/classes/camera_attributes_physical.cpp',
  './gen/src/classes/camera_attributes_practical.cpp',
  './gen/src/classes/camera_feed.cpp',
  './gen/src/classes/camera_server.cpp',
  './gen/src/classes/camera_texture.cpp',
  './gen/src/classes/canvas_group.cpp',
  './gen/src/classes/canvas_item.cpp',
  './gen/src/classes/canvas_item_material.cpp',
  './gen/src/classes/canvas_layer.cpp',
  './gen/src/classes/canvas_modulate.cpp',
  './gen/src/classes/canvas_texture.cpp',
  './gen/src/classes/capsule_mesh.cpp',
  './gen/src/classes/capsule_shape2d.cpp',
  './gen/src/classes/capsule_shape3d.cpp',
  './gen/src/classes/center_container.cpp',
  './gen/src/classes/character_body2d.cpp',
  './gen/src/classes/character_body3d.cpp',
  './gen/src/classes/char_fx_transform.cpp',
  './gen/src/classes/check_box.cpp',
  './gen/src/classes/check_button.cpp',
  './gen/src/classes/circle_shape2d.cpp',
  './gen/src/classes/class_db_singleton.cpp',
  './gen/src/classes/code_edit.cpp',
  './gen/src/classes/code_highlighter.cpp',
  './gen/src/classes/collision_object2d.cpp',
  './gen/src/classes/collision_object3d.cpp',
  './gen/src/classes/collision_polygon2d.cpp',
  './gen/src/classes/collision_polygon3d.cpp',
  './gen/src/classes/collision_shape2d.cpp',
  './gen/src/classes/collision_shape3d.cpp',
  './gen/src/classes/color_palette.cpp',
  './gen/src/classes/color_picker_button.cpp',
  './gen/src/classes/color_picker.cpp',
  './gen/src/classes/color_rect.cpp',
  './gen/src/classes/compositor.cpp',
  './gen/src/classes/compositor_effect.cpp',
  './gen/src/classes/compressed_cubemap_array.cpp',
  './gen/src/classes/compressed_cubemap.cpp',
  './gen/src/classes/compressed_texture2d_array.cpp',
  './gen/src/classes/compressed_texture2d.cpp',
  './gen/src/classes/compressed_texture3d.cpp',
  './gen/src/classes/compressed_texture_layered.cpp',
  './gen/src/classes/concave_polygon_shape2d.cpp',
  './gen/src/classes/concave_polygon_shape3d.cpp',
  './gen/src/classes/cone_twist_joint3d.cpp',
  './gen/src/classes/config_file.cpp',
  './gen/src/classes/confirmation_dialog.cpp',
  './gen/src/classes/container.cpp',
  './gen/src/classes/control.cpp',
  './gen/src/classes/convex_polygon_shape2d.cpp',
  './gen/src/classes/convex_polygon_shape3d.cpp',
  './gen/src/classes/cpu_particles2d.cpp',
  './gen/src/classes/cpu_particles3d.cpp',
  './gen/src/classes/crypto.cpp',
  './gen/src/classes/crypto_key.cpp',
  './gen/src/classes/csg_box3d.cpp',
  './gen/src/classes/csg_combiner3d.cpp',
  './gen/src/classes/csg_cylinder3d.cpp',
  './gen/src/classes/csg_mesh3d.cpp',
  './gen/src/classes/csg_polygon3d.cpp',
  './gen/src/classes/csg_primitive3d.cpp',
  './gen/src/classes/csg_shape3d.cpp',
  './gen/src/classes/csg_sphere3d.cpp',
  './gen/src/classes/csg_torus3d.cpp',
  './gen/src/classes/cubemap_array.cpp',
  './gen/src/classes/cubemap.cpp',
  './gen/src/classes/curve2d.cpp',
  './gen/src/classes/curve3d.cpp',
  './gen/src/classes/curve.cpp',
  './gen/src/classes/curve_texture.cpp',
  './gen/src/classes/curve_xyz_texture.cpp',
  './gen/src/classes/cylinder_mesh.cpp',
  './gen/src/classes/cylinder_shape3d.cpp',
  './gen/src/classes/damped_spring_joint2d.cpp',
  './gen/src/classes/decal.cpp',
  './gen/src/classes/dir_access.cpp',
  './gen/src/classes/directional_light2d.cpp',
  './gen/src/classes/directional_light3d.cpp',
  './gen/src/classes/display_server.cpp',
  './gen/src/classes/dtls_server.cpp',
  './gen/src/classes/editor_command_palette.cpp',
  './gen/src/classes/editor_context_menu_plugin.cpp',
  './gen/src/classes/editor_debugger_plugin.cpp',
  './gen/src/classes/editor_debugger_session.cpp',
  './gen/src/classes/editor_export_platform_android.cpp',
  './gen/src/classes/editor_export_platform.cpp',
  './gen/src/classes/editor_export_platform_extension.cpp',
  './gen/src/classes/editor_export_platform_ios.cpp',
  './gen/src/classes/editor_export_platform_linux_bsd.cpp',
  './gen/src/classes/editor_export_platform_mac_os.cpp',
  './gen/src/classes/editor_export_platform_pc.cpp',
  './gen/src/classes/editor_export_platform_web.cpp',
  './gen/src/classes/editor_export_platform_windows.cpp',
  './gen/src/classes/editor_export_plugin.cpp',
  './gen/src/classes/editor_export_preset.cpp',
  './gen/src/classes/editor_feature_profile.cpp',
  './gen/src/classes/editor_file_dialog.cpp',
  './gen/src/classes/editor_file_system.cpp',
  './gen/src/classes/editor_file_system_directory.cpp',
  './gen/src/classes/editor_file_system_import_format_support_query.cpp',
  './gen/src/classes/editor_import_plugin.cpp',
  './gen/src/classes/editor_inspector.cpp',
  './gen/src/classes/editor_inspector_plugin.cpp',
  './gen/src/classes/editor_interface.cpp',
  './gen/src/classes/editor_node3d_gizmo.cpp',
  './gen/src/classes/editor_node3d_gizmo_plugin.cpp',
  './gen/src/classes/editor_paths.cpp',
  './gen/src/classes/editor_plugin.cpp',
  './gen/src/classes/editor_property.cpp',
  './gen/src/classes/editor_resource_conversion_plugin.cpp',
  './gen/src/classes/editor_resource_picker.cpp',
  './gen/src/classes/editor_resource_preview.cpp',
  './gen/src/classes/editor_resource_preview_generator.cpp',
  './gen/src/classes/editor_resource_tooltip_plugin.cpp',
  './gen/src/classes/editor_scene_format_importer_blend.cpp',
  './gen/src/classes/editor_scene_format_importer.cpp',
  './gen/src/classes/editor_scene_format_importer_fbx2_gltf.cpp',
  './gen/src/classes/editor_scene_format_importer_gltf.cpp',
  './gen/src/classes/editor_scene_format_importer_ufbx.cpp',
  './gen/src/classes/editor_scene_post_import.cpp',
  './gen/src/classes/editor_scene_post_import_plugin.cpp',
  './gen/src/classes/editor_script.cpp',
  './gen/src/classes/editor_script_picker.cpp',
  './gen/src/classes/editor_selection.cpp',
  './gen/src/classes/editor_settings.cpp',
  './gen/src/classes/editor_spin_slider.cpp',
  './gen/src/classes/editor_syntax_highlighter.cpp',
  './gen/src/classes/editor_toaster.cpp',
  './gen/src/classes/editor_translation_parser_plugin.cpp',
  './gen/src/classes/editor_undo_redo_manager.cpp',
  './gen/src/classes/editor_vcs_interface.cpp',
  './gen/src/classes/encoded_object_as_id.cpp',
  './gen/src/classes/e_net_connection.cpp',
  './gen/src/classes/e_net_multiplayer_peer.cpp',
  './gen/src/classes/e_net_packet_peer.cpp',
  './gen/src/classes/engine.cpp',
  './gen/src/classes/engine_debugger.cpp',
  './gen/src/classes/engine_profiler.cpp',
  './gen/src/classes/environment.cpp',
  './gen/src/classes/expression.cpp',
  './gen/src/classes/external_texture.cpp',
  './gen/src/classes/fast_noise_lite.cpp',
  './gen/src/classes/fbx_document.cpp',
  './gen/src/classes/fbx_state.cpp',
  './gen/src/classes/file_access.cpp',
  './gen/src/classes/file_dialog.cpp',
  './gen/src/classes/file_system_dock.cpp',
  './gen/src/classes/flow_container.cpp',
  './gen/src/classes/fog_material.cpp',
  './gen/src/classes/fog_volume.cpp',
  './gen/src/classes/font.cpp',
  './gen/src/classes/font_file.cpp',
  './gen/src/classes/font_variation.cpp',
  './gen/src/classes/framebuffer_cache_rd.cpp',
  './gen/src/classes/gd_extension.cpp',
  './gen/src/classes/gd_extension_manager.cpp',
  './gen/src/classes/gd_script.cpp',
  './gen/src/classes/gd_script_syntax_highlighter.cpp',
  './gen/src/classes/generic6_dof_joint3d.cpp',
  './gen/src/classes/geometry2d.cpp',
  './gen/src/classes/geometry3d.cpp',
  './gen/src/classes/geometry_instance3d.cpp',
  './gen/src/classes/gltf_accessor.cpp',
  './gen/src/classes/gltf_animation.cpp',
  './gen/src/classes/gltf_buffer_view.cpp',
  './gen/src/classes/gltf_camera.cpp',
  './gen/src/classes/gltf_document.cpp',
  './gen/src/classes/gltf_document_extension_convert_importer_mesh.cpp',
  './gen/src/classes/gltf_document_extension.cpp',
  './gen/src/classes/gltf_light.cpp',
  './gen/src/classes/gltf_mesh.cpp',
  './gen/src/classes/gltf_node.cpp',
  './gen/src/classes/gltf_object_model_property.cpp',
  './gen/src/classes/gltf_physics_body.cpp',
  './gen/src/classes/gltf_physics_shape.cpp',
  './gen/src/classes/gltf_skeleton.cpp',
  './gen/src/classes/gltf_skin.cpp',
  './gen/src/classes/gltf_spec_gloss.cpp',
  './gen/src/classes/gltf_state.cpp',
  './gen/src/classes/gltf_texture.cpp',
  './gen/src/classes/gltf_texture_sampler.cpp',
  './gen/src/classes/gpu_particles2d.cpp',
  './gen/src/classes/gpu_particles3d.cpp',
  './gen/src/classes/gpu_particles_attractor3d.cpp',
  './gen/src/classes/gpu_particles_attractor_box3d.cpp',
  './gen/src/classes/gpu_particles_attractor_sphere3d.cpp',
  './gen/src/classes/gpu_particles_attractor_vector_field3d.cpp',
  './gen/src/classes/gpu_particles_collision3d.cpp',
  './gen/src/classes/gpu_particles_collision_box3d.cpp',
  './gen/src/classes/gpu_particles_collision_height_field3d.cpp',
  './gen/src/classes/gpu_particles_collision_sdf3d.cpp',
  './gen/src/classes/gpu_particles_collision_sphere3d.cpp',
  './gen/src/classes/gradient.cpp',
  './gen/src/classes/gradient_texture1_d.cpp',
  './gen/src/classes/gradient_texture2d.cpp',
  './gen/src/classes/graph_edit.cpp',
  './gen/src/classes/graph_element.cpp',
  './gen/src/classes/graph_frame.cpp',
  './gen/src/classes/graph_node.cpp',
  './gen/src/classes/grid_container.cpp',
  './gen/src/classes/grid_map.cpp',
  './gen/src/classes/grid_map_editor_plugin.cpp',
  './gen/src/classes/groove_joint2d.cpp',
  './gen/src/classes/hashing_context.cpp',
  './gen/src/classes/h_box_container.cpp',
  './gen/src/classes/height_map_shape3d.cpp',
  './gen/src/classes/h_flow_container.cpp',
  './gen/src/classes/hinge_joint3d.cpp',
  './gen/src/classes/hmac_context.cpp',
  './gen/src/classes/h_scroll_bar.cpp',
  './gen/src/classes/h_separator.cpp',
  './gen/src/classes/h_slider.cpp',
  './gen/src/classes/h_split_container.cpp',
  './gen/src/classes/http_client.cpp',
  './gen/src/classes/http_request.cpp',
  './gen/src/classes/image.cpp',
  './gen/src/classes/image_format_loader.cpp',
  './gen/src/classes/image_format_loader_extension.cpp',
  './gen/src/classes/image_texture3d.cpp',
  './gen/src/classes/image_texture.cpp',
  './gen/src/classes/image_texture_layered.cpp',
  './gen/src/classes/immediate_mesh.cpp',
  './gen/src/classes/importer_mesh.cpp',
  './gen/src/classes/importer_mesh_instance3d.cpp',
  './gen/src/classes/input.cpp',
  './gen/src/classes/input_event_action.cpp',
  './gen/src/classes/input_event.cpp',
  './gen/src/classes/input_event_from_window.cpp',
  './gen/src/classes/input_event_gesture.cpp',
  './gen/src/classes/input_event_joypad_button.cpp',
  './gen/src/classes/input_event_joypad_motion.cpp',
  './gen/src/classes/input_event_key.cpp',
  './gen/src/classes/input_event_magnify_gesture.cpp',
  './gen/src/classes/input_event_midi.cpp',
  './gen/src/classes/input_event_mouse_button.cpp',
  './gen/src/classes/input_event_mouse.cpp',
  './gen/src/classes/input_event_mouse_motion.cpp',
  './gen/src/classes/input_event_pan_gesture.cpp',
  './gen/src/classes/input_event_screen_drag.cpp',
  './gen/src/classes/input_event_screen_touch.cpp',
  './gen/src/classes/input_event_shortcut.cpp',
  './gen/src/classes/input_event_with_modifiers.cpp',
  './gen/src/classes/input_map.cpp',
  './gen/src/classes/instance_placeholder.cpp',
  './gen/src/classes/interval_tweener.cpp',
  './gen/src/classes/ip.cpp',
  './gen/src/classes/item_list.cpp',
  './gen/src/classes/java_class.cpp',
  './gen/src/classes/java_class_wrapper.cpp',
  './gen/src/classes/java_object.cpp',
  './gen/src/classes/java_script_bridge.cpp',
  './gen/src/classes/java_script_object.cpp',
  './gen/src/classes/jni_singleton.cpp',
  './gen/src/classes/joint2d.cpp',
  './gen/src/classes/joint3d.cpp',
  './gen/src/classes/json.cpp',
  './gen/src/classes/jsonrpc.cpp',
  './gen/src/classes/kinematic_collision2d.cpp',
  './gen/src/classes/kinematic_collision3d.cpp',
  './gen/src/classes/label3d.cpp',
  './gen/src/classes/label.cpp',
  './gen/src/classes/label_settings.cpp',
  './gen/src/classes/light2d.cpp',
  './gen/src/classes/light3d.cpp',
  './gen/src/classes/lightmap_gi.cpp',
  './gen/src/classes/lightmap_gi_data.cpp',
  './gen/src/classes/lightmapper.cpp',
  './gen/src/classes/lightmapper_rd.cpp',
  './gen/src/classes/lightmap_probe.cpp',
  './gen/src/classes/light_occluder2d.cpp',
  './gen/src/classes/line2d.cpp',
  './gen/src/classes/line_edit.cpp',
  './gen/src/classes/link_button.cpp',
  './gen/src/classes/look_at_modifier3d.cpp',
  './gen/src/classes/main_loop.cpp',
  './gen/src/classes/margin_container.cpp',
  './gen/src/classes/marker2d.cpp',
  './gen/src/classes/marker3d.cpp',
  './gen/src/classes/marshalls.cpp',
  './gen/src/classes/material.cpp',
  './gen/src/classes/menu_bar.cpp',
  './gen/src/classes/menu_button.cpp',
  './gen/src/classes/mesh_convex_decomposition_settings.cpp',
  './gen/src/classes/mesh.cpp',
  './gen/src/classes/mesh_data_tool.cpp',
  './gen/src/classes/mesh_instance2d.cpp',
  './gen/src/classes/mesh_instance3d.cpp',
  './gen/src/classes/mesh_library.cpp',
  './gen/src/classes/mesh_texture.cpp',
  './gen/src/classes/method_tweener.cpp',
  './gen/src/classes/missing_node.cpp',
  './gen/src/classes/missing_resource.cpp',
  './gen/src/classes/mobile_vr_interface.cpp',
  './gen/src/classes/movie_writer.cpp',
  './gen/src/classes/multi_mesh.cpp',
  './gen/src/classes/multi_mesh_instance2d.cpp',
  './gen/src/classes/multi_mesh_instance3d.cpp',
  './gen/src/classes/multiplayer_api.cpp',
  './gen/src/classes/multiplayer_api_extension.cpp',
  './gen/src/classes/multiplayer_peer.cpp',
  './gen/src/classes/multiplayer_peer_extension.cpp',
  './gen/src/classes/multiplayer_spawner.cpp',
  './gen/src/classes/multiplayer_synchronizer.cpp',
  './gen/src/classes/mutex.cpp',
  './gen/src/classes/native_menu.cpp',
  './gen/src/classes/navigation_agent2d.cpp',
  './gen/src/classes/navigation_agent3d.cpp',
  './gen/src/classes/navigation_link2d.cpp',
  './gen/src/classes/navigation_link3d.cpp',
  './gen/src/classes/navigation_mesh.cpp',
  './gen/src/classes/navigation_mesh_generator.cpp',
  './gen/src/classes/navigation_mesh_source_geometry_data2d.cpp',
  './gen/src/classes/navigation_mesh_source_geometry_data3d.cpp',
  './gen/src/classes/navigation_obstacle2d.cpp',
  './gen/src/classes/navigation_obstacle3d.cpp',
  './gen/src/classes/navigation_path_query_parameters2d.cpp',
  './gen/src/classes/navigation_path_query_parameters3d.cpp',
  './gen/src/classes/navigation_path_query_result2d.cpp',
  './gen/src/classes/navigation_path_query_result3d.cpp',
  './gen/src/classes/navigation_polygon.cpp',
  './gen/src/classes/navigation_region2d.cpp',
  './gen/src/classes/navigation_region3d.cpp',
  './gen/src/classes/navigation_server2d.cpp',
  './gen/src/classes/navigation_server3d.cpp',
  './gen/src/classes/nine_patch_rect.cpp',
  './gen/src/classes/node2d.cpp',
  './gen/src/classes/node3d.cpp',
  './gen/src/classes/node3d_gizmo.cpp',
  './gen/src/classes/node.cpp',
  './gen/src/classes/noise.cpp',
  './gen/src/classes/noise_texture2d.cpp',
  './gen/src/classes/noise_texture3d.cpp',
  './gen/src/classes/object.cpp',
  './gen/src/classes/occluder3d.cpp',
  './gen/src/classes/occluder_instance3d.cpp',
  './gen/src/classes/occluder_polygon2d.cpp',
  './gen/src/classes/offline_multiplayer_peer.cpp',
  './gen/src/classes/ogg_packet_sequence.cpp',
  './gen/src/classes/ogg_packet_sequence_playback.cpp',
  './gen/src/classes/omni_light3d.cpp',
  './gen/src/classes/open_xr_action_binding_modifier.cpp',
  './gen/src/classes/open_xr_action.cpp',
  './gen/src/classes/open_xr_action_map.cpp',
  './gen/src/classes/open_xr_action_set.cpp',
  './gen/src/classes/open_xr_analog_threshold_modifier.cpp',
  './gen/src/classes/open_xrapi_extension.cpp',
  './gen/src/classes/open_xr_binding_modifier.cpp',
  './gen/src/classes/open_xr_binding_modifier_editor.cpp',
  './gen/src/classes/open_xr_composition_layer.cpp',
  './gen/src/classes/open_xr_composition_layer_cylinder.cpp',
  './gen/src/classes/open_xr_composition_layer_equirect.cpp',
  './gen/src/classes/open_xr_composition_layer_quad.cpp',
  './gen/src/classes/open_xr_dpad_binding_modifier.cpp',
  './gen/src/classes/open_xr_extension_wrapper_extension.cpp',
  './gen/src/classes/open_xr_hand.cpp',
  './gen/src/classes/open_xr_haptic_base.cpp',
  './gen/src/classes/open_xr_haptic_vibration.cpp',
  './gen/src/classes/open_xr_interaction_profile.cpp',
  './gen/src/classes/open_xr_interaction_profile_editor_base.cpp',
  './gen/src/classes/open_xr_interaction_profile_editor.cpp',
  './gen/src/classes/open_xr_interaction_profile_metadata.cpp',
  './gen/src/classes/open_xr_interface.cpp',
  './gen/src/classes/open_xrip_binding.cpp',
  './gen/src/classes/open_xrip_binding_modifier.cpp',
  './gen/src/classes/open_xr_visibility_mask.cpp',
  './gen/src/classes/optimized_translation.cpp',
  './gen/src/classes/option_button.cpp',
  './gen/src/classes/orm_material3d.cpp',
  './gen/src/classes/os.cpp',
  './gen/src/classes/packed_data_container.cpp',
  './gen/src/classes/packed_data_container_ref.cpp',
  './gen/src/classes/packed_scene.cpp',
  './gen/src/classes/packet_peer.cpp',
  './gen/src/classes/packet_peer_dtls.cpp',
  './gen/src/classes/packet_peer_extension.cpp',
  './gen/src/classes/packet_peer_stream.cpp',
  './gen/src/classes/packet_peer_udp.cpp',
  './gen/src/classes/panel_container.cpp',
  './gen/src/classes/panel.cpp',
  './gen/src/classes/panorama_sky_material.cpp',
  './gen/src/classes/parallax2d.cpp',
  './gen/src/classes/parallax_background.cpp',
  './gen/src/classes/parallax_layer.cpp',
  './gen/src/classes/particle_process_material.cpp',
  './gen/src/classes/path2d.cpp',
  './gen/src/classes/path3d.cpp',
  './gen/src/classes/path_follow2d.cpp',
  './gen/src/classes/path_follow3d.cpp',
  './gen/src/classes/pck_packer.cpp',
  './gen/src/classes/performance.cpp',
  './gen/src/classes/physical_bone2d.cpp',
  './gen/src/classes/physical_bone3d.cpp',
  './gen/src/classes/physical_bone_simulator3d.cpp',
  './gen/src/classes/physical_sky_material.cpp',
  './gen/src/classes/physics_body2d.cpp',
  './gen/src/classes/physics_body3d.cpp',
  './gen/src/classes/physics_direct_body_state2d.cpp',
  './gen/src/classes/physics_direct_body_state2d_extension.cpp',
  './gen/src/classes/physics_direct_body_state3d.cpp',
  './gen/src/classes/physics_direct_body_state3d_extension.cpp',
  './gen/src/classes/physics_direct_space_state2d.cpp',
  './gen/src/classes/physics_direct_space_state2d_extension.cpp',
  './gen/src/classes/physics_direct_space_state3d.cpp',
  './gen/src/classes/physics_direct_space_state3d_extension.cpp',
  './gen/src/classes/physics_material.cpp',
  './gen/src/classes/physics_point_query_parameters2d.cpp',
  './gen/src/classes/physics_point_query_parameters3d.cpp',
  './gen/src/classes/physics_ray_query_parameters2d.cpp',
  './gen/src/classes/physics_ray_query_parameters3d.cpp',
  './gen/src/classes/physics_server2d.cpp',
  './gen/src/classes/physics_server2d_extension.cpp',
  './gen/src/classes/physics_server2d_manager.cpp',
  './gen/src/classes/physics_server3d.cpp',
  './gen/src/classes/physics_server3d_extension.cpp',
  './gen/src/classes/physics_server3d_manager.cpp',
  './gen/src/classes/physics_server3d_rendering_server_handler.cpp',
  './gen/src/classes/physics_shape_query_parameters2d.cpp',
  './gen/src/classes/physics_shape_query_parameters3d.cpp',
  './gen/src/classes/physics_test_motion_parameters2d.cpp',
  './gen/src/classes/physics_test_motion_parameters3d.cpp',
  './gen/src/classes/physics_test_motion_result2d.cpp',
  './gen/src/classes/physics_test_motion_result3d.cpp',
  './gen/src/classes/pin_joint2d.cpp',
  './gen/src/classes/pin_joint3d.cpp',
  './gen/src/classes/placeholder_cubemap_array.cpp',
  './gen/src/classes/placeholder_cubemap.cpp',
  './gen/src/classes/placeholder_material.cpp',
  './gen/src/classes/placeholder_mesh.cpp',
  './gen/src/classes/placeholder_texture2d_array.cpp',
  './gen/src/classes/placeholder_texture2d.cpp',
  './gen/src/classes/placeholder_texture3d.cpp',
  './gen/src/classes/placeholder_texture_layered.cpp',
  './gen/src/classes/plane_mesh.cpp',
  './gen/src/classes/point_light2d.cpp',
  './gen/src/classes/point_mesh.cpp',
  './gen/src/classes/polygon2d.cpp',
  './gen/src/classes/polygon_occluder3d.cpp',
  './gen/src/classes/polygon_path_finder.cpp',
  './gen/src/classes/popup.cpp',
  './gen/src/classes/popup_menu.cpp',
  './gen/src/classes/popup_panel.cpp',
  './gen/src/classes/portable_compressed_texture2d.cpp',
  './gen/src/classes/primitive_mesh.cpp',
  './gen/src/classes/prism_mesh.cpp',
  './gen/src/classes/procedural_sky_material.cpp',
  './gen/src/classes/progress_bar.cpp',
  './gen/src/classes/project_settings.cpp',
  './gen/src/classes/property_tweener.cpp',
  './gen/src/classes/quad_mesh.cpp',
  './gen/src/classes/quad_occluder3d.cpp',
  './gen/src/classes/random_number_generator.cpp',
  './gen/src/classes/range.cpp',
  './gen/src/classes/ray_cast2d.cpp',
  './gen/src/classes/ray_cast3d.cpp',
  './gen/src/classes/rd_attachment_format.cpp',
  './gen/src/classes/rd_framebuffer_pass.cpp',
  './gen/src/classes/rd_pipeline_color_blend_state_attachment.cpp',
  './gen/src/classes/rd_pipeline_color_blend_state.cpp',
  './gen/src/classes/rd_pipeline_depth_stencil_state.cpp',
  './gen/src/classes/rd_pipeline_multisample_state.cpp',
  './gen/src/classes/rd_pipeline_rasterization_state.cpp',
  './gen/src/classes/rd_pipeline_specialization_constant.cpp',
  './gen/src/classes/rd_sampler_state.cpp',
  './gen/src/classes/rd_shader_file.cpp',
  './gen/src/classes/rd_shader_source.cpp',
  './gen/src/classes/rd_shader_spirv.cpp',
  './gen/src/classes/rd_texture_format.cpp',
  './gen/src/classes/rd_texture_view.cpp',
  './gen/src/classes/rd_uniform.cpp',
  './gen/src/classes/rd_vertex_attribute.cpp',
  './gen/src/classes/rectangle_shape2d.cpp',
  './gen/src/classes/ref_counted.cpp',
  './gen/src/classes/reference_rect.cpp',
  './gen/src/classes/reflection_probe.cpp',
  './gen/src/classes/reg_ex.cpp',
  './gen/src/classes/reg_ex_match.cpp',
  './gen/src/classes/remote_transform2d.cpp',
  './gen/src/classes/remote_transform3d.cpp',
  './gen/src/classes/render_data.cpp',
  './gen/src/classes/render_data_extension.cpp',
  './gen/src/classes/render_data_rd.cpp',
  './gen/src/classes/rendering_device.cpp',
  './gen/src/classes/rendering_server.cpp',
  './gen/src/classes/render_scene_buffers_configuration.cpp',
  './gen/src/classes/render_scene_buffers.cpp',
  './gen/src/classes/render_scene_buffers_extension.cpp',
  './gen/src/classes/render_scene_buffers_rd.cpp',
  './gen/src/classes/render_scene_data.cpp',
  './gen/src/classes/render_scene_data_extension.cpp',
  './gen/src/classes/render_scene_data_rd.cpp',
  './gen/src/classes/resource.cpp',
  './gen/src/classes/resource_format_loader.cpp',
  './gen/src/classes/resource_format_saver.cpp',
  './gen/src/classes/resource_importer_bit_map.cpp',
  './gen/src/classes/resource_importer_bm_font.cpp',
  './gen/src/classes/resource_importer.cpp',
  './gen/src/classes/resource_importer_csv_translation.cpp',
  './gen/src/classes/resource_importer_dynamic_font.cpp',
  './gen/src/classes/resource_importer_image.cpp',
  './gen/src/classes/resource_importer_image_font.cpp',
  './gen/src/classes/resource_importer_layered_texture.cpp',
  './gen/src/classes/resource_importer_mp3.cpp',
  './gen/src/classes/resource_importer_obj.cpp',
  './gen/src/classes/resource_importer_ogg_vorbis.cpp',
  './gen/src/classes/resource_importer_scene.cpp',
  './gen/src/classes/resource_importer_shader_file.cpp',
  './gen/src/classes/resource_importer_texture_atlas.cpp',
  './gen/src/classes/resource_importer_texture.cpp',
  './gen/src/classes/resource_importer_wav.cpp',
  './gen/src/classes/resource_loader.cpp',
  './gen/src/classes/resource_preloader.cpp',
  './gen/src/classes/resource_saver.cpp',
  './gen/src/classes/resource_uid.cpp',
  './gen/src/classes/retarget_modifier3d.cpp',
  './gen/src/classes/ribbon_trail_mesh.cpp',
  './gen/src/classes/rich_text_effect.cpp',
  './gen/src/classes/rich_text_label.cpp',
  './gen/src/classes/rigid_body2d.cpp',
  './gen/src/classes/rigid_body3d.cpp',
  './gen/src/classes/root_motion_view.cpp',
  './gen/src/classes/scene_multiplayer.cpp',
  './gen/src/classes/scene_replication_config.cpp',
  './gen/src/classes/scene_state.cpp',
  './gen/src/classes/scene_tree.cpp',
  './gen/src/classes/scene_tree_timer.cpp',
  './gen/src/classes/script.cpp',
  './gen/src/classes/script_create_dialog.cpp',
  './gen/src/classes/script_editor_base.cpp',
  './gen/src/classes/script_editor.cpp',
  './gen/src/classes/script_extension.cpp',
  './gen/src/classes/script_language.cpp',
  './gen/src/classes/script_language_extension.cpp',
  './gen/src/classes/scroll_bar.cpp',
  './gen/src/classes/scroll_container.cpp',
  './gen/src/classes/segment_shape2d.cpp',
  './gen/src/classes/semaphore.cpp',
  './gen/src/classes/separation_ray_shape2d.cpp',
  './gen/src/classes/separation_ray_shape3d.cpp',
  './gen/src/classes/separator.cpp',
  './gen/src/classes/shader.cpp',
  './gen/src/classes/shader_globals_override.cpp',
  './gen/src/classes/shader_include.cpp',
  './gen/src/classes/shader_include_db.cpp',
  './gen/src/classes/shader_material.cpp',
  './gen/src/classes/shape2d.cpp',
  './gen/src/classes/shape3d.cpp',
  './gen/src/classes/shape_cast2d.cpp',
  './gen/src/classes/shape_cast3d.cpp',
  './gen/src/classes/shortcut.cpp',
  './gen/src/classes/skeleton2d.cpp',
  './gen/src/classes/skeleton3d.cpp',
  './gen/src/classes/skeleton_ik3d.cpp',
  './gen/src/classes/skeleton_modification2dccdik.cpp',
  './gen/src/classes/skeleton_modification2d.cpp',
  './gen/src/classes/skeleton_modification2dfabrik.cpp',
  './gen/src/classes/skeleton_modification2d_jiggle.cpp',
  './gen/src/classes/skeleton_modification2d_look_at.cpp',
  './gen/src/classes/skeleton_modification2d_physical_bones.cpp',
  './gen/src/classes/skeleton_modification2d_stack_holder.cpp',
  './gen/src/classes/skeleton_modification2d_two_bone_ik.cpp',
  './gen/src/classes/skeleton_modification_stack2d.cpp',
  './gen/src/classes/skeleton_modifier3d.cpp',
  './gen/src/classes/skeleton_profile.cpp',
  './gen/src/classes/skeleton_profile_humanoid.cpp',
  './gen/src/classes/skin.cpp',
  './gen/src/classes/skin_reference.cpp',
  './gen/src/classes/sky.cpp',
  './gen/src/classes/slider.cpp',
  './gen/src/classes/slider_joint3d.cpp',
  './gen/src/classes/soft_body3d.cpp',
  './gen/src/classes/sphere_mesh.cpp',
  './gen/src/classes/sphere_occluder3d.cpp',
  './gen/src/classes/sphere_shape3d.cpp',
  './gen/src/classes/spin_box.cpp',
  './gen/src/classes/split_container.cpp',
  './gen/src/classes/spot_light3d.cpp',
  './gen/src/classes/spring_arm3d.cpp',
  './gen/src/classes/spring_bone_collision3d.cpp',
  './gen/src/classes/spring_bone_collision_capsule3d.cpp',
  './gen/src/classes/spring_bone_collision_plane3d.cpp',
  './gen/src/classes/spring_bone_collision_sphere3d.cpp',
  './gen/src/classes/spring_bone_simulator3d.cpp',
  './gen/src/classes/sprite2d.cpp',
  './gen/src/classes/sprite3d.cpp',
  './gen/src/classes/sprite_base3d.cpp',
  './gen/src/classes/sprite_frames.cpp',
  './gen/src/classes/standard_material3d.cpp',
  './gen/src/classes/static_body2d.cpp',
  './gen/src/classes/static_body3d.cpp',
  './gen/src/classes/status_indicator.cpp',
  './gen/src/classes/stream_peer_buffer.cpp',
  './gen/src/classes/stream_peer.cpp',
  './gen/src/classes/stream_peer_extension.cpp',
  './gen/src/classes/stream_peer_gzip.cpp',
  './gen/src/classes/stream_peer_tcp.cpp',
  './gen/src/classes/stream_peer_tls.cpp',
  './gen/src/classes/style_box.cpp',
  './gen/src/classes/style_box_empty.cpp',
  './gen/src/classes/style_box_flat.cpp',
  './gen/src/classes/style_box_line.cpp',
  './gen/src/classes/style_box_texture.cpp',
  './gen/src/classes/subtween_tweener.cpp',
  './gen/src/classes/sub_viewport_container.cpp',
  './gen/src/classes/sub_viewport.cpp',
  './gen/src/classes/surface_tool.cpp',
  './gen/src/classes/syntax_highlighter.cpp',
  './gen/src/classes/system_font.cpp',
  './gen/src/classes/tab_bar.cpp',
  './gen/src/classes/tab_container.cpp',
  './gen/src/classes/tcp_server.cpp',
  './gen/src/classes/text_edit.cpp',
  './gen/src/classes/text_line.cpp',
  './gen/src/classes/text_mesh.cpp',
  './gen/src/classes/text_paragraph.cpp',
  './gen/src/classes/text_server_advanced.cpp',
  './gen/src/classes/text_server.cpp',
  './gen/src/classes/text_server_dummy.cpp',
  './gen/src/classes/text_server_extension.cpp',
  './gen/src/classes/text_server_manager.cpp',
  './gen/src/classes/texture2d_array.cpp',
  './gen/src/classes/texture2d_array_rd.cpp',
  './gen/src/classes/texture2d.cpp',
  './gen/src/classes/texture2drd.cpp',
  './gen/src/classes/texture3d.cpp',
  './gen/src/classes/texture3drd.cpp',
  './gen/src/classes/texture_button.cpp',
  './gen/src/classes/texture.cpp',
  './gen/src/classes/texture_cubemap_array_rd.cpp',
  './gen/src/classes/texture_cubemap_rd.cpp',
  './gen/src/classes/texture_layered.cpp',
  './gen/src/classes/texture_layered_rd.cpp',
  './gen/src/classes/texture_progress_bar.cpp',
  './gen/src/classes/texture_rect.cpp',
  './gen/src/classes/theme.cpp',
  './gen/src/classes/theme_db.cpp',
  './gen/src/classes/thread.cpp',
  './gen/src/classes/tile_data.cpp',
  './gen/src/classes/tile_map.cpp',
  './gen/src/classes/tile_map_layer.cpp',
  './gen/src/classes/tile_map_pattern.cpp',
  './gen/src/classes/tile_set_atlas_source.cpp',
  './gen/src/classes/tile_set.cpp',
  './gen/src/classes/tile_set_scenes_collection_source.cpp',
  './gen/src/classes/tile_set_source.cpp',
  './gen/src/classes/time.cpp',
  './gen/src/classes/timer.cpp',
  './gen/src/classes/tls_options.cpp',
  './gen/src/classes/torus_mesh.cpp',
  './gen/src/classes/touch_screen_button.cpp',
  './gen/src/classes/translation.cpp',
  './gen/src/classes/translation_domain.cpp',
  './gen/src/classes/translation_server.cpp',
  './gen/src/classes/tree.cpp',
  './gen/src/classes/tree_item.cpp',
  './gen/src/classes/triangle_mesh.cpp',
  './gen/src/classes/tube_trail_mesh.cpp',
  './gen/src/classes/tween.cpp',
  './gen/src/classes/tweener.cpp',
  './gen/src/classes/udp_server.cpp',
  './gen/src/classes/undo_redo.cpp',
  './gen/src/classes/uniform_set_cache_rd.cpp',
  './gen/src/classes/upnp.cpp',
  './gen/src/classes/upnp_device.cpp',
  './gen/src/classes/v_box_container.cpp',
  './gen/src/classes/vehicle_body3d.cpp',
  './gen/src/classes/vehicle_wheel3d.cpp',
  './gen/src/classes/v_flow_container.cpp',
  './gen/src/classes/video_stream.cpp',
  './gen/src/classes/video_stream_playback.cpp',
  './gen/src/classes/video_stream_player.cpp',
  './gen/src/classes/video_stream_theora.cpp',
  './gen/src/classes/viewport.cpp',
  './gen/src/classes/viewport_texture.cpp',
  './gen/src/classes/visible_on_screen_enabler2d.cpp',
  './gen/src/classes/visible_on_screen_enabler3d.cpp',
  './gen/src/classes/visible_on_screen_notifier2d.cpp',
  './gen/src/classes/visible_on_screen_notifier3d.cpp',
  './gen/src/classes/visual_instance3d.cpp',
  './gen/src/classes/visual_shader.cpp',
  './gen/src/classes/visual_shader_node_billboard.cpp',
  './gen/src/classes/visual_shader_node_boolean_constant.cpp',
  './gen/src/classes/visual_shader_node_boolean_parameter.cpp',
  './gen/src/classes/visual_shader_node_clamp.cpp',
  './gen/src/classes/visual_shader_node_color_constant.cpp',
  './gen/src/classes/visual_shader_node_color_func.cpp',
  './gen/src/classes/visual_shader_node_color_op.cpp',
  './gen/src/classes/visual_shader_node_color_parameter.cpp',
  './gen/src/classes/visual_shader_node_comment.cpp',
  './gen/src/classes/visual_shader_node_compare.cpp',
  './gen/src/classes/visual_shader_node_constant.cpp',
  './gen/src/classes/visual_shader_node.cpp',
  './gen/src/classes/visual_shader_node_cubemap.cpp',
  './gen/src/classes/visual_shader_node_cubemap_parameter.cpp',
  './gen/src/classes/visual_shader_node_curve_texture.cpp',
  './gen/src/classes/visual_shader_node_curve_xyz_texture.cpp',
  './gen/src/classes/visual_shader_node_custom.cpp',
  './gen/src/classes/visual_shader_node_derivative_func.cpp',
  './gen/src/classes/visual_shader_node_determinant.cpp',
  './gen/src/classes/visual_shader_node_distance_fade.cpp',
  './gen/src/classes/visual_shader_node_dot_product.cpp',
  './gen/src/classes/visual_shader_node_expression.cpp',
  './gen/src/classes/visual_shader_node_face_forward.cpp',
  './gen/src/classes/visual_shader_node_float_constant.cpp',
  './gen/src/classes/visual_shader_node_float_func.cpp',
  './gen/src/classes/visual_shader_node_float_op.cpp',
  './gen/src/classes/visual_shader_node_float_parameter.cpp',
  './gen/src/classes/visual_shader_node_frame.cpp',
  './gen/src/classes/visual_shader_node_fresnel.cpp',
  './gen/src/classes/visual_shader_node_global_expression.cpp',
  './gen/src/classes/visual_shader_node_group_base.cpp',
  './gen/src/classes/visual_shader_node_if.cpp',
  './gen/src/classes/visual_shader_node_input.cpp',
  './gen/src/classes/visual_shader_node_int_constant.cpp',
  './gen/src/classes/visual_shader_node_int_func.cpp',
  './gen/src/classes/visual_shader_node_int_op.cpp',
  './gen/src/classes/visual_shader_node_int_parameter.cpp',
  './gen/src/classes/visual_shader_node_is.cpp',
  './gen/src/classes/visual_shader_node_linear_scene_depth.cpp',
  './gen/src/classes/visual_shader_node_mix.cpp',
  './gen/src/classes/visual_shader_node_multiply_add.cpp',
  './gen/src/classes/visual_shader_node_outer_product.cpp',
  './gen/src/classes/visual_shader_node_output.cpp',
  './gen/src/classes/visual_shader_node_parameter.cpp',
  './gen/src/classes/visual_shader_node_parameter_ref.cpp',
  './gen/src/classes/visual_shader_node_particle_accelerator.cpp',
  './gen/src/classes/visual_shader_node_particle_box_emitter.cpp',
  './gen/src/classes/visual_shader_node_particle_cone_velocity.cpp',
  './gen/src/classes/visual_shader_node_particle_emit.cpp',
  './gen/src/classes/visual_shader_node_particle_emitter.cpp',
  './gen/src/classes/visual_shader_node_particle_mesh_emitter.cpp',
  './gen/src/classes/visual_shader_node_particle_multiply_by_axis_angle.cpp',
  './gen/src/classes/visual_shader_node_particle_output.cpp',
  './gen/src/classes/visual_shader_node_particle_randomness.cpp',
  './gen/src/classes/visual_shader_node_particle_ring_emitter.cpp',
  './gen/src/classes/visual_shader_node_particle_sphere_emitter.cpp',
  './gen/src/classes/visual_shader_node_proximity_fade.cpp',
  './gen/src/classes/visual_shader_node_random_range.cpp',
  './gen/src/classes/visual_shader_node_remap.cpp',
  './gen/src/classes/visual_shader_node_reroute.cpp',
  './gen/src/classes/visual_shader_node_resizable_base.cpp',
  './gen/src/classes/visual_shader_node_rotation_by_axis.cpp',
  './gen/src/classes/visual_shader_node_sample3d.cpp',
  './gen/src/classes/visual_shader_node_screen_normal_world_space.cpp',
  './gen/src/classes/visual_shader_node_screen_uv_to_sdf.cpp',
  './gen/src/classes/visual_shader_node_sdf_raymarch.cpp',
  './gen/src/classes/visual_shader_node_sdf_to_screen_uv.cpp',
  './gen/src/classes/visual_shader_node_smooth_step.cpp',
  './gen/src/classes/visual_shader_node_step.cpp',
  './gen/src/classes/visual_shader_node_switch.cpp',
  './gen/src/classes/visual_shader_node_texture2d_array.cpp',
  './gen/src/classes/visual_shader_node_texture2d_array_parameter.cpp',
  './gen/src/classes/visual_shader_node_texture2d_parameter.cpp',
  './gen/src/classes/visual_shader_node_texture3d.cpp',
  './gen/src/classes/visual_shader_node_texture3d_parameter.cpp',
  './gen/src/classes/visual_shader_node_texture.cpp',
  './gen/src/classes/visual_shader_node_texture_parameter.cpp',
  './gen/src/classes/visual_shader_node_texture_parameter_triplanar.cpp',
  './gen/src/classes/visual_shader_node_texture_sdf.cpp',
  './gen/src/classes/visual_shader_node_texture_sdf_normal.cpp',
  './gen/src/classes/visual_shader_node_transform_compose.cpp',
  './gen/src/classes/visual_shader_node_transform_constant.cpp',
  './gen/src/classes/visual_shader_node_transform_decompose.cpp',
  './gen/src/classes/visual_shader_node_transform_func.cpp',
  './gen/src/classes/visual_shader_node_transform_op.cpp',
  './gen/src/classes/visual_shader_node_transform_parameter.cpp',
  './gen/src/classes/visual_shader_node_transform_vec_mult.cpp',
  './gen/src/classes/visual_shader_node_u_int_constant.cpp',
  './gen/src/classes/visual_shader_node_u_int_func.cpp',
  './gen/src/classes/visual_shader_node_u_int_op.cpp',
  './gen/src/classes/visual_shader_node_u_int_parameter.cpp',
  './gen/src/classes/visual_shader_node_uv_func.cpp',
  './gen/src/classes/visual_shader_node_uv_polar_coord.cpp',
  './gen/src/classes/visual_shader_node_varying.cpp',
  './gen/src/classes/visual_shader_node_varying_getter.cpp',
  './gen/src/classes/visual_shader_node_varying_setter.cpp',
  './gen/src/classes/visual_shader_node_vec2_constant.cpp',
  './gen/src/classes/visual_shader_node_vec2_parameter.cpp',
  './gen/src/classes/visual_shader_node_vec3_constant.cpp',
  './gen/src/classes/visual_shader_node_vec3_parameter.cpp',
  './gen/src/classes/visual_shader_node_vec4_constant.cpp',
  './gen/src/classes/visual_shader_node_vec4_parameter.cpp',
  './gen/src/classes/visual_shader_node_vector_base.cpp',
  './gen/src/classes/visual_shader_node_vector_compose.cpp',
  './gen/src/classes/visual_shader_node_vector_decompose.cpp',
  './gen/src/classes/visual_shader_node_vector_distance.cpp',
  './gen/src/classes/visual_shader_node_vector_func.cpp',
  './gen/src/classes/visual_shader_node_vector_len.cpp',
  './gen/src/classes/visual_shader_node_vector_op.cpp',
  './gen/src/classes/visual_shader_node_vector_refract.cpp',
  './gen/src/classes/visual_shader_node_world_position_from_depth.cpp',
  './gen/src/classes/voxel_gi.cpp',
  './gen/src/classes/voxel_gi_data.cpp',
  './gen/src/classes/v_scroll_bar.cpp',
  './gen/src/classes/v_separator.cpp',
  './gen/src/classes/v_slider.cpp',
  './gen/src/classes/v_split_container.cpp',
  './gen/src/classes/weak_ref.cpp',
  './gen/src/classes/web_rtc_data_channel.cpp',
  './gen/src/classes/web_rtc_data_channel_extension.cpp',
  './gen/src/classes/web_rtc_multiplayer_peer.cpp',
  './gen/src/classes/web_rtc_peer_connection.cpp',
  './gen/src/classes/web_rtc_peer_connection_extension.cpp',
  './gen/src/classes/web_socket_multiplayer_peer.cpp',
  './gen/src/classes/web_socket_peer.cpp',
  './gen/src/classes/web_xr_interface.cpp',
  './gen/src/classes/window.cpp',
  './gen/src/classes/worker_thread_pool.cpp',
  './gen/src/classes/world2d.cpp',
  './gen/src/classes/world3d.cpp',
  './gen/src/classes/world_boundary_shape2d.cpp',
  './gen/src/classes/world_boundary_shape3d.cpp',
  './gen/src/classes/world_environment.cpp',
  './gen/src/classes/x509_certificate.cpp',
  './gen/src/classes/xml_parser.cpp',
  './gen/src/classes/xr_anchor3d.cpp',
  './gen/src/classes/xr_body_modifier3d.cpp',
  './gen/src/classes/xr_body_tracker.cpp',
  './gen/src/classes/xr_camera3d.cpp',
  './gen/src/classes/xr_controller3d.cpp',
  './gen/src/classes/xr_controller_tracker.cpp',
  './gen/src/classes/xr_face_modifier3d.cpp',
  './gen/src/classes/xr_face_tracker.cpp',
  './gen/src/classes/xr_hand_modifier3d.cpp',
  './gen/src/classes/xr_hand_tracker.cpp',
  './gen/src/classes/xr_interface.cpp',
  './gen/src/classes/xr_interface_extension.cpp',
  './gen/src/classes/xr_node3d.cpp',
  './gen/src/classes/xr_origin3d.cpp',
  './gen/src/classes/xr_pose.cpp',
  './gen/src/classes/xr_positional_tracker.cpp',
  './gen/src/classes/xr_server.cpp',
  './gen/src/classes/xr_tracker.cpp',
  './gen/src/classes/xrvrs.cpp',
  './gen/src/classes/zip_packer.cpp',
  './gen/src/classes/zip_reader.cpp',
  './gen/src/variant/array.cpp',
  './gen/src/variant/callable.cpp',
  './gen/src/variant/dictionary.cpp',
  './gen/src/variant/node_path.cpp',
  './gen/src/variant/packed_byte_array.cpp',
  './gen/src/variant/packed_color_array.cpp',
  './gen/src/variant/packed_float32_array.cpp',
  './gen/src/variant/packed_float64_array.cpp',
  './gen/src/variant/packed_int32_array.cpp',
  './gen/src/variant/packed_int64_array.cpp',
  './gen/src/variant/packed_string_array.cpp',
  './gen/src/variant/packed_vector2_array.cpp',
  './gen/src/variant/packed_vector3_array.cpp',
  './gen/src/variant/packed_vector4_array.cpp',
  './gen/src/variant/rid.cpp',
  './gen/src/variant/signal.cpp',
  './gen/src/variant/string.cpp',
  './gen/src/variant/string_name.cpp',
  './gen/src/variant/utility_functions.cpp',
]

# To update this array, run
# > find ./src/ -name '*.cpp' | xargs -I{} echo "'{}'," | sort
# and put result here
core_sources = [
  './src/classes/editor_plugin_registration.cpp',
  './src/classes/low_level.cpp',
  './src/classes/wrapped.cpp',
  './src/core/class_db.cpp',
  './src/core/error_macros.cpp',
  './src/core/memory.cpp',
  './src/core/method_bind.cpp',
  './src/core/object.cpp',
  './src/core/print_string.cpp',
  './src/godot.cpp',
  './src/variant/aabb.cpp',
  './src/variant/basis.cpp',
  './src/variant/callable_custom.cpp',
  './src/variant/callable_method_pointer.cpp',
  './src/variant/char_string.cpp',
  './src/variant/color.cpp',
  './src/variant/packed_arrays.cpp',
  './src/variant/plane.cpp',
  './src/variant/projection.cpp',
  './src/variant/quaternion.cpp',
  './src/variant/rect2.cpp',
  './src/variant/rect2i.cpp',
  './src/variant/transform2d.cpp',
  './src/variant/transform3d.cpp',
  './src/variant/variant.cpp',
  './src/variant/variant_internal.cpp',
  './src/variant/vector2.cpp',
  './src/variant/vector2i.cpp',
  './src/variant/vector3.cpp',
  './src/variant/vector3i.cpp',
  './src/variant/vector4.cpp',
  './src/variant/vector4i.cpp',
]

godot_cpp_lib = static_library(
  'libgodot-cpp',
  core_sources + generated_sources,
  include_directories: includes,
)

godot_cpp_dep = declare_dependency(
  include_directories: includes,
  link_with: [godot_cpp_lib],
)

meson.override_dependency('godot-cpp', godot_cpp_dep)

